﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.ComponentModel.DataAnnotations;
using TicketsPhone.Entidades;

namespace TicketsPhone.Domain.Entities
{
    public class Tramite
    {
        #region Constructores
        public Tramite() {
            this.Entidad = new EntidadRelacional();
        }

        public Tramite(IDataRecord obj)
        {
            this.Entidad = new EntidadRelacional();
            IdTramite = Convert.ToInt32(obj["IdTramite"]);
            Nombre = Convert.ToString(obj["Nombre"]);
            Descripcion = Convert.ToString(obj["Descripcion"]);
            Requisitos = Convert.ToString(obj["Requisitos"]);
            Duracion = Convert.ToInt32(obj["Duracion"]);
            Entidad.IdEntidad = Convert.ToInt32(obj["IdEntidad"]);
            Activo = Convert.ToBoolean(obj["Activo"]);
            FechaModificacion = Convert.ToDateTime(obj["FechaModificacion"]);
        }
        #endregion

        #region Propiedades

        public Int32? IdTramite { get; set; }
        
        [Required(ErrorMessage = "Debe ingresar este campo")]
        public string Nombre { get; set; }

        [Required(ErrorMessage = "Debe ingresar este campo")]
        public string Descripcion { get; set; }
        
        [Required(ErrorMessage = "Debe ingresar este campo")]
        public string Requisitos { get; set; }

        public Int32 Duracion { get; set; }

        public EntidadRelacional Entidad { get; set; }

        public bool Activo { get; set; }

        public DateTime FechaModificacion { get; set; }

        #endregion
    }
}
